package com.arrays;

public class MoveZeroes0124_283 {
    public void moveZeroes(int[] nums) {
        /**
         * 初始 i指向首元素位置，
         *  指向非0元素，同时记录前面遇到了m个零，
         *      非零元素向前移动m个位置。
         *  遍历完成后，将数组后m个位置改为0
         */

        int m = 0;
        for (int i = 0; i<nums.length ; i++) {
            if(nums[i] == 0){
                m++;
            }else {
                nums[i-m] = nums[i];
            }
        }
        for (int i = nums.length - m; i < nums.length; i++) {
            nums[i] = 0;
        }
    }
}
